\section*{Exercise}
Create a different program for each of the following points
\begin{enumerate}
    \item Create a vector of \cpp{complex}s and order it using the STL algorithm
    \cpp{sort} in decreasing absolute value.
    \item create a vector of \cpp{int}s with $10$ occurrences of the $55$ value.
    use the STL algorithm \cpp{find} to find the third element with value $55$.
    \item Create a list of \cpp{float}s and count the number of elements with
    absolute value below $4.5$. Use the STL algorithm \cpp{count_if}.
    \item Create a set of integers and find the sum of all its elements, each
    of them multiplied by $3$. Use the STL algorithm \cpp{accumulate} for both
    the sum and the multiplication.
    \item Create two set of integers and find their intersection and their
    union, using the STL algorithm \cpp{set_union} and \cpp{set_intersection}.

    \item Create a map with an integer key and a pointer to a function as
    value. The function should be in $\RR^3$ with values in $\RR$. Insert the
    following two functions
    \begin{align*}
        f_1(x,y,z) &= x+2y-z^2\,,\\
        f_5(x,y,z) &= 2y-6\,.
    \end{align*}
    with key $1$ and $5$, respectively.
    Extract from the map the function associated to the $5$ key and evaluate it
    in the point $(1,2,3)$.
    \item complete the \texttt{main\_tuple.cpp} file implementing a Newton
    method using \cpp{tuple}s.
\end{enumerate}
